package cn.tedu.net;
//jak的lambda表达式
public class Test4 {
    public static void main(String[] args) {
        //V1.0测试
        A a=new B();
        a.save();
        //V2.0测试
        A a1=new A(){
            @Override
            public void save() {
                System.out.println(321);
            }
        };
        a1.save();
        //V3.0  Lambda --优化匿名内部类(只适用于只有一个抽象方法)
        //语法：（参数列表）->{方法体}
        A a2=()->{System.out.println(321123);};
        a2.save();
        //TODO 练习 Lambda表达式
        C b=(int m)->{
            System.out.println(m);
        };
            b.get(10);
        D d=(int g,String h)->{
            System.out.println(g);
            System.out.println(h);
        };
        new DD(){

            @Override
            public int select(int id) {
                return id*10;
            }
        };
        //优化匿名对象
        d.del(10000,"你好！");
        DD d1=(int x)->{return x*10;};
        int e=d1.select(100);
        System.out.println(e);


    }
}
//定义接口
interface A{
    void save();
}
//TODO 练习 Lambda表达式
interface C{
    void get(int id);
}
interface D{
    void del(int id,String name);
}
//实现类接口
class B implements  A{
    @Override
    public void save() {
        System.out.println(123);

    }
}
interface DD{
    int select (int id);
}
